"""
通用处理，假设没有找到合适的处理器就默认遍历一遍获取新链接
"""
import logging

from . import WebWorker


class CommonProcessor(WebWorker):
    NAME = "通用处理器"
    regex_url = '.*'  # 匹配规则，默认正则表达式匹配，如果是个函数则调用，传入 URL 参数。

    def process(self):
        logging.info(f"页面 {self.url} 开始往下寻找......")

        response, soup, links = self.get_normal()
        if response.status_code != 200:
            yield [self.summary_process(
                valid=False,
                reason={
                    "title": "链接错误",
                    "article": "链接响应异常，请联系管理员进行修复。",
                    "mistake": [
                        {
                            'error_type': f'{response.status_code}',
                            'origin': '链接响应异常，请联系管理员进行修复。',
                            'review': f'链接响应 {self.url} 异常 {response.status_code}。 来源：{self.forward_url}'
                        }
                    ]
                },
                url=self.url,
                note=self.url
            )], links
        else:
            yield [], links

        return
